package com.yjq.programmer.service;

import com.yjq.programmer.dto.PageDTO;
import com.yjq.programmer.dto.ResponseDTO;
import com.yjq.programmer.dto.UserDTO;

import java.util.List;

/**
 * @author 杨杨吖
 * @QQ 823208782
 * @WX yjqi12345678
 * @create 2022-11-08 10:37
 */
public interface IUserService {

    // 分页获取用户数据
    ResponseDTO<PageDTO<UserDTO>> getUserListByPage(PageDTO<UserDTO> pageDTO);

    // 保存用户数据(添加、修改)
    ResponseDTO<Boolean> saveUser(UserDTO userDTO);

    // 删除用户数据
    ResponseDTO<Boolean> removeUser(UserDTO userDTO);

    // 后台用户登录操作
    ResponseDTO<UserDTO> adminLogin(UserDTO userDTO);

    // 小程序用户登录操作
    ResponseDTO<UserDTO> appLogin(UserDTO userDTO);

    // 获取当前登录用户
    ResponseDTO<UserDTO> getLoginUser(UserDTO userDTO);

    // 用户退出登录
    ResponseDTO<Boolean> logout(UserDTO userDTO);

    // 获取用户总数
    ResponseDTO<Integer> getUserTotal();

    // 用户注册操作
    ResponseDTO<Boolean> register(UserDTO userDTO);

    // 获取所有用户数据
    ResponseDTO<List<UserDTO>> getAllUser();
}
